\documentclass[11pt,a4paper]{moderncv}

\moderncvtheme[blue]{casual}
\usepackage{fontspec,xunicode,xltxtra}
\usepackage{xeCJK}

\setCJKfamilyfont{akai}{Adobe Kaiti Std}
\newcommand{\akai}[1]{\CJKfamily{akai} #1}
\setCJKfamilyfont{ahei}{Adobe Heiti Std}
\newcommand{\ahei}[1]{\CJKfamily{ahei} #1}
\setCJKfamilyfont{asong}{Adobe Song Std}
\newcommand{\asong}[1]{\CJKfamily{asong} #1}
\setCJKfamilyfont{afsong}{Adobe Fangsong Std}
\newcommand{\afsong}[1]{\CJKfamily{asong} #1}

\setCJKfamilyfont{hei}{SimHei}
\newcommand{\hei}[1]{\CJKfamily{hei} #1}
\setCJKfamilyfont{cyun}{STCaiyun}
\newcommand{\cyun}[1]{\CJKfamily{cyun} #1}
\setCJKfamilyfont{song}{SimSun}
\newcommand{\song}[1]{\CJKfamily{song} #1}
\setCJKfamilyfont{yyuan}{YouYuan}
\newcommand{\yyuan}[1]{\CJKfamily{yyuan} #1}
\setCJKfamilyfont{kai}{KaiTi_GB2312}
\newcommand{\kai}[1]{\CJKfamily{kai} #1}
\setCJKfamilyfont{dkuan}{WenQuanYi Micro Hei Mono}
\newcommand{\dkuan}[1]{\CJKfamily{dkuan} #1}
\setCJKfamilyfont{fsong}{FangSong_GB2312}
\newcommand{\fsong}[1]{\CJKfamily{fsong} #1}
\setCJKfamilyfont{xkai}{STXingkai}
\newcommand{\xkai}[1]{\CJKfamily{xkai} #1}
\setCJKfamilyfont{loli}{DFGirl:style=Regular}
\newcommand{\loli}[1]{\CJKfamily{loli} #1}

\setmainfont{Times New Roman}
\setsansfont{Arial}
\setmonofont{Courier New}
\setCJKmainfont[BoldFont=SimHei,ItalicFont=KaiTi_GB2312]{SimSun}

\usepackage[utf8]{inputenc}

\usepackage[scale=0.8]{geometry}

\AtBeginDocument{\recomputelengths}

\familyname{\xkai{系统}}
\firstname{\xkai{嵌入式}}
\title{复习提纲}
\quote{复习提纲}
\photo[31pt]{封面}
\begin{document}
\maketitle
\section{第一章\ 绪论}
\subsection{嵌入式系统的发展及应用}
\subsection{嵌入式系统的定义、组成与特点}
\subsection{嵌入式系统的种类}
\subsection{嵌入式系统应用带来的机遇}

\section{第二章\ 80C51单片机的基本结构}
\subsection{80C51单片微机的内部结构}
\cvline{}{%
\begin{itemize}
\item CPU（运算器、控制器）
\item 储存器（ROM、RAM）
\item 并行I/O口（P0～P3）
\item 串行口
\item 定时器、计数器
\item 中断系统
\item 定时控制逻辑电路
\end{itemize}
}
\cvline{}{这些部件通过内部总线连接起来，基本结构仍然是通用CPU加上外围芯片的结构模式，但采用了特殊功能寄存器（SFR）进行集中控制的方法。}
\subsection{80C51单片微机的引脚及其功能}
\subsection{80C51 CPU 的结构和特点}
\cvline{}{中央处理器CPU 是单片微机内部的核心部件，主要包括控制器、运算器和工作寄存器及时序电路。}
\cvline{中央控制器}{控制指令的读出、译码和执行，对指令的执行过程进行定时控制，并根据执行结果决定是否分支转移。其包括：}
\cvline{}{%
\begin{itemize}
\item 程序计数器PC
\item 程序地址寄存器
\item 指令寄存器IR
\item 指令译码器
\item 条件转移逻辑电路
\item 定时控制逻辑电路
\end{itemize}
}
\cvline{运算器}{主要用来实现对操作数的算术逻辑运算和位操作。其包括：}
\cvline{}{%
\begin{itemize}
\item 算术逻辑运算单元ALU
\item 累加器ACC（A）
\item 寄存器B
\item 程序状态字PSW
\item 暂存器
\item BCD 码运算修正电路
\end{itemize}
}
\cvline{时钟电路及CPU 的工作时序}{时钟电路用于产生单片微机工作所需要的时钟信号，而时序所研究的是指令执行中各信号之间的相互关系。单片微机本身就如一个复杂的同步时序电路，为了保证同步工作方式的实现，电路应在唯一的时钟信号控制下严格地按时序进行工作。
}
\subsection{存储器结构和地址空间}
\cvline{}{单片微机存储器有两种基本结构}{
\cvline{普林斯顿结构}{程序和数据合用一个存储器空间的结构。}
\cvline{哈佛机构}{程序储存器和数据储存器截然分开，分别寻址的结构。}

\cvline{物理上设有的4个储存器空间}{%
\begin{itemize}
\item 程序存储器
    \begin{itemize}
        \item 片内程序存储器
        \item 片外程序存储器
    \end{itemize}
\item 数据处理器
    \begin{itemize}
        \item 片内数据存储器
        \item 片外数据存储器
    \end{itemize}
\end{itemize}
}

\cvline{逻辑上设有的3个储存器地址空间}{%
\begin{itemize}
\item 片内、片外统一的64KB 程序储存地址空间
\item 片内256（80C52 为384）B 数据储存器地址空间
\item 片外64KB 的数据储存器地址空间
\end{itemize}
}

\cvline{80C51 有三种基本寻址空间}{%
\begin{itemize}
\item 64KB 的片内、外程序储存器寻址空间
\item 256（或384）B 的片内数据存储器寻址空间，其中包括特殊功能寄存器寻址空间
\item 64KB 的片外数据储存器寻址空间
\end{itemize}
}

\cvline {片内数据存储器空间，在物理上又包括两部分}{%
\begin{itemize}
\item 80C51
    \begin{itemize}
    \item 0~127B 为片内数据存储器空间
    \item 128~255B 为特殊功能寄存器空间
    \end{itemize}
\item 80C52
    \begin{itemize}
    \item 0~127B 为片内数据存储器空间
    \item 128~255B 共128个字节是数据储存器和特殊功能寄存器地址重叠空间
    \end{itemize}
\end{itemize}
}
\subsection{程序存储器}
\cvline{存放调试的应用程序和表格之类的固定常数}{采用16位的程序计数器PC 和16位的地址总线,可扩展的地址空间为64KB。}
\cvline{}{程序储存器的特定的程序入口地址:}
\cvline{复位}{0000H}
\cvline{外部中断0}{0003H}
\cvline{计时器T0溢出}{000BH}
\cvline{外部中断1}{0013H}
\cvline{计时器T1溢出}{001B}
\cvline{串行口中断}{0023H}
\cvline{计时器T2/T2EX}{002BH（80C52）}
\subsection{内部数据存储器}
\cvline{由RAM 构成，存放随机数据}{%
\begin{itemize}
\item 片内数据存储器地址只有8位，最大寻址范围为256个字节。
\item 片外数据存储器有16位数据指针DPTR，具有64KB 的数据存储器扩展能力。
\end{itemize}
}
\cvline{片内数据RAM 区}{%
\begin{itemize}
\item 工作寄存器区（用寄存器直寻址的区域）
\item 位寻址区
\item 字节寻址区
\item 堆栈区(堆栈是为子程序调用和中断操作而设立的，具体功能是保护断点和保护现场。系统复位后，SP 内容为07H，以07H为栈底，压栈的内容从08H 单元开始存放。要注意给堆栈以一定的深度。)及堆栈指示器SP(Stack Pointer,在80C51中存放当前的堆栈栈顶所指存储单元地址的一个8位寄存器。)
\end{itemize}
}
\subsection{特殊功能寄存器SFR(Special Function Register)区}
\cvline{}{SFR 是80C51 中各功能部件所对应的寄存器，用以存放相应功能部件的控制命令、状态或数据的区域。}
\subsection{片外数据存储区}
\cvline{在外部存放数据的区域，这一区域只能用寄存器间接寻址的方法访问。指令助记符为MOVX。}{%
\begin{itemize}
\item 当用R0、R1 寻址时，由于R0、R1为8位寄存器，最大寻址范围为256B
\item 当用DPTR 寻址时，由于DPTR 为16为寄存器，最大寻址范围为64KB
\end{itemize}
}
\subsection{并行输入/输出端口}
\cvline{}{80C51共有4个8位的并行双向口，计有32根输入/输出（I/O）口线。各口的每一位均由锁存器、输出驱动器和输入缓冲器所组成。由于它们在结构上的一些差异，故各口的性质和功能也就有了差异。}
\subsection{布尔（位）处理器}
\cvline{}{一个完整的一位微计算器，它具有自己的CPU、寄存器、I/O、存储器和指令集。一位机在开关决策、逻辑电路仿真和实时控制方面非常有效。}
\cvline{位处理器系统包括一下几个功能部件：}{%
\begin{itemize}
\item 位累加器：借用进位标志位CY。
    \begin{itemize}
        \item 在布尔运算中CY 是数据源之一，又是运算结果的存放处，位数据传送的中心。
        \item 根据CY 的状态实现程序条件转移：JC rel、JNC rel。
    \end{itemize}
\item 位寻址的RAM：内部RAM位寻址区中的0~127位（20H～2FH）。
\item 寻址的寄存器：特殊功能寄存器（SFR）中的可以为寻址的位。
\item 位寻址的I/O口：并行I/O口中的可以位寻址的位（如P1.0）。
\item 位操作指令系统：位操作指令可实现对位的置位、清0、取反、位状态判跳、传送、位逻辑运算、位输入/输出等操作。
\end{itemize}
}
\subsection{80C51单片微机的工作方式}
\cvline{共有4种工作方式}{%
\begin{itemize}
\item 复位
\item 程序执行
\item 低功耗
\item 编程和校验
\end{itemize}
}
\section{第三章\ 80C51单片微机的指令系统与程序设计}
\subsection{80C51 指令系统概述}
\cvline{}{%
\begin{itemize}
\item 专用于80C51 系列单片微机
\item 具有255 种操作码
\item 42 种助记符 $\rightarrow$ 33 种功能
\item 助记词+寻址方式 $\rightarrow$ 111 种指令
\end{itemize}
}
\subsection{寻址方式}
\cvline{寻址}{在指令中给出的寻找操作数或操作数所在地址的方法}
\cvline{}{%
\begin{itemize}
\item 执行任何一条指令都需要使用操作数
\item 80C51 指令系统中共有7钟寻址方式
\end{itemize}
}
\cvline{1.寄存器寻址}{R0～R7、A、B、CY（bit）、DPTR}
\cvline{2.直接寻址}{%
\begin{itemize}
\item 内部RAM 低128 字节
\item 特殊功能寄存器
\end{itemize}
}
\cvline{3.寄存器间接寻址}{%
\begin{itemize}
\item 内部RAM （@R0，@R1，@SP，仅PUSH、POP）
\item 外部RAM （@R0,@R1,@DPTR）
\end{itemize}
}
\cvline{4.立即寻址}{程序储存器}
\cvline{5.变址寻址}{程序存储器（@A+PC,@A+DPTR）}
\cvline{6.相对寻址}{程序存储器（PC+偏移量）}
\cvline{7.位寻址}{%
\begin{itemize}
\item 内部RAM 中有128 个可寻址位
\item 特殊功能寄存器中可位寻址的位
\end{itemize}
}
\subsection{指令格式}
\cvline{}{一条指令通常由操作码和操作数两部分组成}
\subsection{指令分类}
\cvline{80C51 的指令系统，共有111 条指令，按其功能可分为5大类}{%
\begin{itemize}
\item 数据传送类指令（28条）
\item 算术运算类指令（24条）
\item 逻辑运算类指令（25条）
\item 控制转移类指令（17条）
\item 布尔操作（位）类指令（17条）
\end{itemize}
}

\section{第四章\ 80C51 单片机的中断系统、定时器/计数器及串行口}
\cvline{}{一个CPU 资源要面向多个任务，出现资源竞争，而中断技术实质上是一种资源共享技术}
\cvline{}{中断系统包括的硬件和软件编程}
\subsection{中断系统概述}
\cvline{中断}{程序执行过程中，允许外部或内部事件通过硬件打断程序的执行，使其转化为处理外部或内部事件的中断服务程序中去；完成中断服务程序后，CPU 继续原来被打断的程序，这样的过程被称为中断响应过程。}
\cvline{中断源}{能产生中断的外部和内部事件。}
\cvline{中断优先级}{当有几个中断同时申请中断时，或者CPU 正在处理某中断源服务程序时，又有另一中断源申请中断，那么CPU 必须要确定优先去处理谁的能力。}
\cvline{中断嵌套}{优先级高的事件可以中断CPU 正在处理的低级的中断服务程序，待完成了高级中断程序程序之后，再继续被打断的低级中断服务程序。}
\subsection{单片微机的中断系统需要解决的问题}
\cvline{}{%
\begin{itemize}
\item 当单片微机内部或外部有中断申请时，CPU 能及时响应中断，停下正在执行的任务，转去处理中断服务子程序，中断服务处理后能回到愿断点处继续处理原先的任务。
\item 当有多个中断源同时申请中断时，应能先响应优先级高的中断源，实现中断优先级的控制。
\item 当低优先级中断源正在享用中断服务时，若这时优先级比它高的中断源也申请中断，要求能停下低优先级中断源的服务程序转去执行更高优先级中断源的服务程序，实现中断嵌套，并能逐级正确返回原断点处。
\end{itemize}
}
\subsection{80C51 的中断系统}
\cvline{}{80C51 的中断系统包括中断源、中断允许寄存器IE、中断优先级寄存器IP、中断矢量等。}
\cvline{}{\kai 在80C51 中，只有两级中断优先级。}
\subsection{中断源}
\cvline{}{80C51 有5个中断源，80C52 增加了一个中断源——定时器/计数器T2。每一个中断源都能被程控为高优先级或低优先级。}
\cvline{}{%
\begin{itemize}
\item 两个外部中断源$\overline{INT0}$和$\overline{INT1}$：外部设备的中断请求信号、掉电等故障都可以从$\overline{INT0}$或$\overline{INT1}$引脚输入。
\item 三个内部中断源：T0和T1的定时/计数溢出中断源和串行口发送或者接收中断源。
\end{itemize}
}
\subsection{中断矢量}
\cvline{中断矢量}{当CPU 响应中断时，由硬件直接产生一个固定的地址，即矢量地址，由矢量地址指出每个中断源设备的中断服务程序的入口。}
\cvline{}{当CPU 识别出某个中断源时，由硬件直接给出一个与该中断源相对的矢量地址，从而转入各自中断服务程序。}
\cvline{中断矢量地址}{中断源}
\cvline{0003H}{外部中断0（INT0）}
\cvline{000BH}{定时器/计数器0（T0）}
\cvline{0013H}{外部中断1（INT1）}
\cvline{001BH}{定时器/计数器1（T1）}
\cvline{0023H}{串行口（R1、T1）}
\cvline{002BH}{定时器/计数器2}
\subsection{中断的控制}
\cvline{中断标志}{$\overline{INT0}$,$\overline{INT1}$,T0及T1的中断标志存放在TCON 寄存器中；串行口的中断标志存放在SCON寄存器中。}
\begin{center}
\kai{定时器/计数器控制寄存器TCON}\\
\begin{tabular}{ccccccccc}% 第一欄位使用 sans serif 字族
\hline
位地址 & 8FH & 8EH & 8DH & 8CH & 8BH & 8AH & 89H & 88H\\
\hline
符号  &  TF1 &     & TF0 &     & IE1 & IT1 & IE0 & IT0\\
\hline
\hline
\end{tabular}
\end{center}

\cvline{串行口控制寄存器SCON}{%
\begin{itemize}
\item T1：串行口发送中断源。发送完一帧，由硬件置位。响应中断后，必须用软件清0。
\item R1：串行口接收中断源。接收完一帧，由硬件置位。响应中断后，必须用软件清0。
\end{itemize}
}

\cvline{中断允许控制}{%
\begin{itemize}
\item IE 寄存器中各位设置：为0时，禁止中断；为1时，允许中断。
\item 系统复位后IE 寄存器中各位均为0，禁止所有中断。
\end{itemize}
}

\cvline{中断优先级}{%
\begin{itemize}
\item IP 寄存器中各位设置：为0时，为低级中断优先级；为1时，设为高中断优先级。
\item 系统复位后IP 寄存器中各位均为0，全部设为低中断优先级。
\end{itemize}
}

\subsection{优先级从上到下越来越低}
\cvline{}{%
\begin{itemize}
\item 外部中断0
\item 定时器T0 中断
\item 外部中断1
\item 定时器T1 中断
\item 串行口中断
\item 定时器T2 中断
\end{itemize}
}

\subsection{外部中断触发方式}
\cvline{$\overline{INT0}$,$\overline{INT1}$的中断触发方式有两种}{%
\begin{itemize}
\item 电平触发方式，低电平有效。
\item 条变触发方式，电平发生由高到低跳变时触发。
\end{itemize}
}
\cvline{}{%
\begin{itemize}
\item IT1、IT0=0，选择电平触发方式
\item IT1、IT0=1，选择跳变触发方式，即当$\overline{INT0}$，$\overline{INT1}$引脚检测到当前一个机器周期为高电平、后一个机器周期为低电平时，则置位IE0、IE1且向CPU 申请中断。
\end{itemize}
}

\cvline{中断的执行过程与调用子程序相似点}{%
\begin{itemize}
\item 都是中断当前正在执行的程序，转去执行子程序或中断服务程序。
\item 都是由硬件自动地把断点地址压入堆栈，然后通过软件成现场保护。
\item 执行完子程序或中断服务程序后，都要通过软件完成现场恢复，并通过执行返回指令，重新返回到断点处，继续往下执行程序。
\item 二者都可以实现嵌套，如中断嵌套和子程序嵌套。
\end{itemize}
}

\cvline{中断的执行与调用子程序差别}{%
\begin{itemize}
\item 中断请求信号可以由外部设备发出，是随机的，比如 产生的中断请求；子程序调用却是由软件编排好的。
\item 中断响应后由固定的矢量地址转入中断服务程序，而子程序地址由软件设定。
\item 中断响应是受控的，其响应时间会受一些因素影响；子程序响应时间是固定的。
\end{itemize}
}

\cvline{中断响应时间}{一般来说，在单级中断系统中，中断的响应时间最短为3个机器周期，最长为个机器周期。}

\subsection{外部中断源的扩展}
\cvline{}{%
\begin{itemize}
\item 采用“OC 门”经“线或”后实现
\item 通过片内定时器/计数器来实现
\end{itemize}
}

\subsection{中断服务程序的设计}
\cvline{}{80C51 共有5个中断源，由四个特殊功能寄存器TCON、SCON、IE和IP进行管理和控制}
\cvline{在80C51 中，需要用软件对以下5个内容进行设置}{%
\begin{itemize}
\item 中断服务程序入口地址的设定
\item 某一中断源中断请求的允许与禁止
\item 对于外部中断请求，还需进行触发方式的设定
\item 各中断源优先级别的设定
\item CPU 开中断与关中断
\end{itemize}
}
\section{重点掌握\ 定时器/计数器T0、T1 定时器/计数器的应用编程}
\section{80C51单片微机的串行口原理及应用}
\subsection{传送方式}
\cvline{}{%
\begin{itemize}
\item 并行传输方式 在数据传输时,一个数据编码字符的所有各位都同时发送、并排传输,又同时被接收。并行传送方式要求物理信道为并行内总线或者并行外总线。
\item 串行传送方式 在数据传输时,一个数据编码字符的所有各位按一定顺序,一位接着一位在信道中被发送和接收。串行传送方式的物理信道为串行总线。 
\end{itemize}
}
\cvline{}{计算机与外界的数据传送大多是串行的,其传送距离可以从几米直到几千公里。
}
\subsection{单工方式、半双工方式、全双工方式}
\cvline{}{%
\begin{itemize}
\item 单工方式 信号(不包括联络信号) 在信道中只能沿一个方向传送。
\item 半双工方式 通信的双方均具有发送和接收信息的能力,信道也具有双向传输性能,通信的任何一方在指定的时刻,只能沿某一个方向传送信息。
\item 全双工方式 信号在通信双方之间沿两个方向同时传送,任何一方在同一时刻既能发送又能接收信息。
\end{itemize}
}
\subsection{异步传输和同步传输}
\cvline{}{%
\begin{itemize}
\item 异步传输 以字符为单位进行数据传输,每个字符都用起始位、停止位包装起来,在字符间允许有长短不一的间隙。
\item 同步传输 对数据块进行传输,一个数据块中包含着许多连续的字符,在字符之间没有空闲。同步传输可以方便地实现某一通信协议要求的帧格式。
\end{itemize}
}
\subsection{波特率(BAUD RATE)}
\subsection{串行口的工作方式}
\cvline{}{在串行口控制寄存器SCON中,SM0和SM1位决定串行口的工作方式。}

\section{单片微机的系统扩展原理及接口技术}
\cvline{}{%
\begin{itemize}
\item 程序存储器的扩展
\item 数据存储器的扩展
\item I/O口的扩展
\item 中断系统扩展
\item 其它特殊功能接口的扩展
\item 并行扩展法(AB、DB、CB)
\item 串行扩展法(SPI、I2C)
\end{itemize}
}
\section{第6章\ 嵌入式系统硬件基础}
\cvline{四大类型}{%
\begin{itemize}
\item 嵌入式微处理器(MPU)
\item 嵌入式微控制器(MCU)
\item 嵌入式DSP处理器(DSP)
\item 嵌入式片上系统(System On Chip)
\end{itemize}
}
\subsection{典型嵌入式处理器}
\cvline{}{%
\begin{itemize}
\item 8051单片机
\item ARM
\item 68K/Coldfire
\item PowerPC
\item MIPS
\item X86
\item 国产嵌入式处理器
\end{itemize}
}
\subsection{嵌入式处理器的选型方法}
\cvline{}{主要包括4项选型原则}
\subsection{嵌入式处理器的发展趋势}
\cvline{}{%
\begin{itemize}
\item 集成化与微型化
\item 高性能与低成本
\item 低功耗
\item 硬件功能实现的可编程化
\end{itemize}
}
\subsection{嵌入式系统的常用接口及总线}
\cvline{}{%
\begin{itemize}
\item 外设接口
  \begin{itemize}
  \item 并行接口
  \item 串行接口（$I^2$C、$I^2$S、USB、IEEE1394）
  \end{itemize}
\item 通信接口
  \begin{itemize}
  \item 有线通信接口（RS-232、以太网）
  \item 无线通信接口（红外线/蓝牙、GPRS、IEEE802.11）
  \end{itemize}
\end{itemize}
}
\section{第七章\ 嵌入式系统软件基础}
\section{第八章\ ARM体系结构}
\subsection{RISC 的主要特征}
\cvline{}{%
\begin{itemize}
\item 选用使用频率较高的一些简单指令复杂指令的功能由简单指令来组合
\item 指令长度固定
\item 只有LOAD/STORE指令访存
\item 流水技术
\item 一个时钟周期内完成一条指令
\item 组合逻辑实现控制器
\item 多个通用寄存器
\item 采用优化的编译程序
\end{itemize}
}
\subsection{ARM内核RISC架构的特别技术}
\cvline{}{%
\begin{itemize}
\item 所有的指令可根据前面的执行结果决定是否被执行
\item 可用加载/存储指令批量传输数据
\item 可在一条数据处理指令中同时完成逻辑处理和移位处理
\item 在循环处理中使用地址的自动增减来提高运行效率
\end{itemize}
}

\cvlistdoubleitem[\Neutral]{\akai{Adobe 楷体}}{\asong{Adobe 宋体}}
\end{document}
















